//
//  YWDownloadManager2.h
//  videoTest3
//
//  Created by jun peng on 2022/7/28.
//

#import <Foundation/Foundation.h>
#import "YWDownloadStatus.h"

#import "Single.h"

NS_ASSUME_NONNULL_BEGIN

@interface YWDownloadManager2 : NSObject

//单例
SingleH(downloadManager)

//一定要最先调用这个方法才能触发开启下载数组去下载
//开启任务（传数组）（数据库已经出现过的任务、正在下载但因为退出app（任务不存在字典了）或者退出VC界面（任务还存在字典）再进来的任务）
-(void)beginDataTaskWithStatusArray:(NSArray <YWDownloadStatus *>*)statusArray;

//创建了一个任务（全新的、数据库没有出现过的任务）
-(void)createOneDataTaskWithStatus:(YWDownloadStatus *)status;

//继续一个任务
-(void)continueOneDataTaskWithStatus:(YWDownloadStatus *)status;

//从等待中优先播放一个任务
-(void)advanceOneDataTaskWithStatus:(YWDownloadStatus *)status;

//暂停一个任务
-(void)pauseOneDataTaskWithStatus:(YWDownloadStatus *)status;

//删除了一个任务 -（记住Manager只负责处理中的任务、所以这方法是不包括下载完成的视频）
-(void)removeOneDataTaskWithStatus:(YWDownloadStatus *)status;

//判断这个模型存不存在数据库
+(void)judgeStatusExistInDataBase:(NSString *)videoUrl ifNoExist:(void(^)(void))ifNoExist;


@end

NS_ASSUME_NONNULL_END
